Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO
■カレンダ時計
解説 o カレンダ時計はバッテリバックアップされているため、電源をOFFにした
状態でも計時動作を行っている。
o カレンダ時計へのアクセスは、BIOSを利用するべきである。やむを得ない
場合以外、直接I/Oアクセスすることは避けた方が良い。
o 使用されているカレンダ時計LSIは機種により異なる。
------------+---------------------------------------------------------
カレンダ時計|機種
------------+---------------------------------------------------------
μPD1990A |PC-9801初代・E・F・M・U・VF・VM2・UV2,PC-98XA,PC-98LT
------------+---------------------------------------------------------
μPD4990A |PC-9801VX2〜PC-9801NX/C,PC-9821Ce・Af
|PC-9801NS/A,NL/R,PC-9821Bf・Cs2・Ce2の一部ロット
------------+---------------------------------------------------------
μPD4991 |PC-98HA
------------+---------------------------------------------------------
μPD4993 |PC-9801P・BA2・BS2・BX2,PC-9821Ne・Ap2・As2・Bp・Bs・Be・Tsの
|一部ロット
------------+---------------------------------------------------------
μPD4993A |PC-9801P・NS/A・NL/R・BA2・BS2・BX2,PC-9821Ne・Ap2・As2・Bp・Bs・
|Be・Bf・Ts・Cs2・Ce2の一部ロット
|PC-9821An・Ap3・As3・Xt・Xa・Xf・Xn・Xp・Xs・Xe・Cf・Cx・Cb・
|Xa16・Xa13・Xa12・Xa10・Xa9・Xa7・Xa7e・Xt16・Xt13・St15・St20・Ra20・
|Xv13・Xb10・Xc10・Xe10・V20・V16・V13・V12・V10・V7・
|Cx2・Cb2・Cx3・Cb3・
|Np・Ns・Ne2・Nd・Es・Ne3・Nd2・Nf・Nm・Ld・Lt・Ld2・Nx・Na12・Na9・Na7・
|Nb7・La10・La7
|PC-9821BA3・BX3・BX4
------------+---------------------------------------------------------
なし |DB-P1
------------+---------------------------------------------------------
u μPD4993を搭載した本体は、電源OFFの状態で日付が変わったとき、年の
更新や閏年のときの2月29日の設定が自動的に行われない。
u μPD4993搭載機種の上記不具合を修正するために、MS-DOS 5.0A以前のバー
ジョンではIO.SYSに対するパッチがNECから公開されている。また、MS-DOS
6.2以降、およびWindows95ではBCKWHEAT.SYSを組み込むことによって修正
される。
o カレンダ時計割り込み搭載機種ではμPD4993Aのパルス出力によって、CPUに
対してINT 17h(IRQ15)割り込みを発生させることができる。
o カレンダ時計割り込み搭載機種では、MS-DOS環境でHRTIMER.SYSというデバ
イスドライバを組み込むことでDOSファンクションで1/100秒単位の時刻を
取得することが可能である。
関連 I/O 000Ah bit 7
INT 17h
I/O 0020h
名前 カレンダ時計
対象 全機種(PC-98HA,DB-P1を除く)
チップ μPD1990A, μPD4990A, μPD4993, μPD4993A
機能
-----------+----+---+--------------------------------------------------
I/Oアドレス|幅 |R/W|内容
-----------+----+---+--------------------------------------------------
0020h |BYTE| R |μPD1990A,μPD4990Aは未使用。
| | |μPD4993(A)搭載機では、I/O 0022h bit 4=1のとき
| | |使用される。詳細不明。
0020h |BYTE| W |セットレジスタ
| | |bit 7,6: 00b
| | |bit 5: データインプット
| | |bit 4: クロック
| | |bit 3: ストローブ
| | |bit 2〜0: C2〜C0 コマンドコード
| | | 111b= 拡張モードコマンド (*1)
| | | 110b= TP=64Hzセット (*1)
| | | 101b= TP=256Hzセット (*1)
| | | 100b= TP=2048Hzセット (*1)
| | | 011b= タイムリード
| | | 010b= タイムセット&カウンタホールド
| | | 001b= レジスタシフト
| | | 000b= レジスタホールド
| | | *1:μPD1990Aはサポートしない
-----------+----+---+--------------------------------------------------
解説 o カレンダ時計ICのデータアウト端子はシステムポートB0に接続されている。
o μPD1990Aには年を扱う機能がないため、μPD1990A搭載機では、年の値は
メモリスイッチ8(A000:3FFEh,E000:3FFEh)に格納する。このため、越年や
うるう年の処理は自動的に行われない。
関連 I/O 0033h bit0
I/O 8E1Eh■[PC-9801P]
A000:3FFEh■[PC-9801初代・E・F・M・U・VM2・VF・UV2]
INT 1Ch - Function 00h
INT 1Ch - Function 01h
I/O 0022h
名前 カレンダ時計制御
Undocumented
対象 μPD4993(A)搭載機
チップ μPD4993(A)
機能
-----------+----+---+--------------------------------------------------
I/Oアドレス|幅 |R/W|内容
-----------+----+---+--------------------------------------------------
0022h |BYTE|R/W|bit 4: μPD4993(A)モード設定
| | | 1= μPD4993拡張モード
| | | 0= μPD4990互換モード
-----------+----+---+--------------------------------------------------
解説 o μPD4993(A)の拡張機能を有効/無効にするための制御用と考えられる。bit 4=1
にすると、通常の方法ではカレンダ時計LSIにアクセスできなくなる。
関連 I/O 0020h
I/O 0022h,0023h
名前 カレンダ時計
Undocumented
対象 PC-98HA
チップ μPD4991
機能
-----------+----+---+--------------------------------------------------
I/Oアドレス|幅 |R/W|内容
-----------+----+---+--------------------------------------------------
0022h |BYTE| W |アドレス指定
| | | bit 7〜4: 未使用(0を指定)
| | | bit 3〜0: A3〜A0 アドレス
0023h |BYTE|R/W|データ入出力
| | | bit 7〜4: 未使用(Write時は0を指定)
| | | bit 3〜0: D3〜D0 入出力データ
-----------+----+---+--------------------------------------------------
解説 o PC-98HAでは、アラーム機能を実現するため、μPD4991が採用されている。
u μPD4991は、4ビットのアドレス線と4ビットのデータ線を利用してCPUとの
I/Oを行う。PC-98HAでは、I/O 0022hにアドレスを出力したあと、I/O 0023hで
データの入出力を行うように回路が構成されている。
o μPD4991の詳細は、メーカ発行のデータシートを参照。
関連 INT 1Ch - Function 00h
INT 1Ch - Function 01h
INT 1Ch - Function 07h
INT 1Ch - Function 08h
INT 1Ch - Function 09h
I/O A98Eh,B98Eh
名前 カレンダ時計
Undocumented
対象 PC-9801P
チップ μPD4991
機能
-----------+----+---+--------------------------------------------------
I/Oアドレス|幅 |R/W|内容
-----------+----+---+--------------------------------------------------
A98Eh |BYTE| W |アドレス指定
| | | bit 7〜4: 未使用(0を指定)
| | | bit 3〜0: A3〜A0 アドレス
B98Eh |BYTE|R/W|データ入出力
| | | bit 7〜4: 未使用(Write時は0を指定)
| | | bit 3〜0: D3〜D0 入出力データ
-----------+----+---+--------------------------------------------------
解説 o PC-9801Pでは、ウェイクアップ機能を実現するためにμPD4991が追加搭載
可能なように設計されている(ただし、実際に出荷された製品では、ボード
上にプリントパターンは残されているが、μPD4991は実装されていない。BIOS
のサポートルーチンは残されているが、ハードウェアがないためこの機能は
働かない)。
u μPD4991は、4ビットのアドレス線と4ビットのデータ線を利用してCPUとの
I/Oを行う。PC-9801Pでは、I/O A98Ehにアドレスを出力したあと、I/O B98Ehで
データの入出力を行うように回路が構成されている。
o μPD4991の詳細は、メーカ発行のデータシートを参照。
関連 INT 1Fh - Function 9A12〜9A16h
I/O 0128h
対象 カレンダ時計割り込み搭載機種
機能
[READ/WRITE]
bit 7〜0: 詳細不明
80h=
81h=
解説 o カレンダ時計ICのパルス出力割り込みを制御する。
o 読み出しによって割り込み要求を下げる。
o 詳細不明
関連 INT 17h
INT 1Ch - Function 80h,81h
INT 1Fh - Function 8Fh
I/O 000Ah bit 7
0000:04F1〜04F3h